package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品对象 goods_product
 * 
 * @author ruoyi
 * @date 2024-03-22
 */
public class GoodsProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 商品组id */
    @Excel(name = "商品组id")
    private Long groupId;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 规格简述{type:value,taye:value...} */
    @Excel(name = "规格简述{type:value,taye:value...}")
    private String resume;

    /** 规格明细逗号拼接 */
    @Excel(name = "规格明细逗号拼接")
    private String resumeStr;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String sku;

    /** 主数据sku 名称 */
    @Excel(name = "主数据sku 名称")
    private String skuName;

    /** 商品单位 */
    @Excel(name = "商品单位")
    private String unit;

    /** 列表图 */
    @Excel(name = "列表图")
    private String listImg;

    /** 商品banner */
    @Excel(name = "商品banner")
    private String banner;

    /** 相册 */
    @Excel(name = "相册")
    private String detailImg;

    /** 分享海报图 */
    @Excel(name = "分享海报图")
    private String sharePoster;

    /** 商品属性(json) */
    @Excel(name = "商品属性(json)")
    private String goodsAttr;

    /** 商品标签英文空格拆分 */
    @Excel(name = "商品标签英文空格拆分")
    private String tags;

    /** 内容 */
    @Excel(name = "内容")
    private String content;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 分类,多个分类逗号隔开 */
    @Excel(name = "分类,多个分类逗号隔开")
    private String categoryId;

    /** 售价 */
    @Excel(name = "售价")
    private Long price;

    /** 原价 */
    @Excel(name = "原价")
    private Long originalPrice;

    /** 排序 */
    @Excel(name = "排序")
    private Long sortOrder;

    /** 是否在售 1-正常 0-下架 */
    @Excel(name = "是否在售 1-正常 0-下架")
    private Integer isSale;

    /** 库存 */
    @Excel(name = "库存")
    private Long inventory;

    /** 商品活动图标 */
    @Excel(name = "商品活动图标")
    private String discountInfoIcon;

    /** 上架时间 */
    @Excel(name = "上架时间")
    private Long upTime;

    /** 下架时间 */
    @Excel(name = "下架时间")
    private Long downTime;

    /** 是否用于推荐:0否,1是 */
    @Excel(name = "是否用于推荐:0否,1是")
    private Long isRecommend;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long supplierId;

    /** 板块id,多个逗号隔开 */
    @Excel(name = "板块id,多个逗号隔开")
    private String plateId;

    /** 存院商品-存储门店类型 0-全部 1-自营 2-加盟 3-城市/门店 */
    @Excel(name = "存院商品-存储门店类型 0-全部 1-自营 2-加盟 3-城市/门店")
    private Integer goodsStoreType;

    /** 选择门店拓展字段 */
    @Excel(name = "选择门店拓展字段")
    private String goodsStoreStr;

    /** 选择门店城市列表 */
    @Excel(name = "选择门店城市列表")
    private String cityCodeListStr;

    /** 选择门店列表 */
    @Excel(name = "选择门店列表")
    private String storeCodeListStr;

    /** 选择门店城市列表 */
    @Excel(name = "选择门店城市列表")
    private String notInCityCodeListStr;

    /** 选择门店列表 */
    @Excel(name = "选择门店列表")
    private String notInStoreCodeListStr;

    /** 商品类型 1-产品 2-护理 3-券 4-疗程 */
    @Excel(name = "商品类型 1-产品 2-护理 3-券 4-疗程")
    private Long goodsType;

    /** 订单回调扩展参数 */
    @Excel(name = "订单回调扩展参数")
    private String orderExtend;

    /** 购买次数限制 */
    @Excel(name = "购买次数限制")
    private Long buyNumLimit;

    /** 是否有赠品 0 否 1是 */
    @Excel(name = "是否有赠品 0 否 1是")
    private Long hasGift;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setGroupId(Long groupId) 
    {
        this.groupId = groupId;
    }

    public Long getGroupId() 
    {
        return groupId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setResume(String resume) 
    {
        this.resume = resume;
    }

    public String getResume() 
    {
        return resume;
    }
    public void setResumeStr(String resumeStr) 
    {
        this.resumeStr = resumeStr;
    }

    public String getResumeStr() 
    {
        return resumeStr;
    }
    public void setSku(String sku) 
    {
        this.sku = sku;
    }

    public String getSku() 
    {
        return sku;
    }
    public void setSkuName(String skuName) 
    {
        this.skuName = skuName;
    }

    public String getSkuName() 
    {
        return skuName;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setListImg(String listImg) 
    {
        this.listImg = listImg;
    }

    public String getListImg() 
    {
        return listImg;
    }
    public void setBanner(String banner) 
    {
        this.banner = banner;
    }

    public String getBanner() 
    {
        return banner;
    }
    public void setDetailImg(String detailImg) 
    {
        this.detailImg = detailImg;
    }

    public String getDetailImg() 
    {
        return detailImg;
    }
    public void setSharePoster(String sharePoster) 
    {
        this.sharePoster = sharePoster;
    }

    public String getSharePoster() 
    {
        return sharePoster;
    }
    public void setGoodsAttr(String goodsAttr) 
    {
        this.goodsAttr = goodsAttr;
    }

    public String getGoodsAttr() 
    {
        return goodsAttr;
    }
    public void setTags(String tags) 
    {
        this.tags = tags;
    }

    public String getTags() 
    {
        return tags;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setCategoryId(String categoryId) 
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId() 
    {
        return categoryId;
    }
    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }
    public void setOriginalPrice(Long originalPrice) 
    {
        this.originalPrice = originalPrice;
    }

    public Long getOriginalPrice() 
    {
        return originalPrice;
    }
    public void setSortOrder(Long sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder() 
    {
        return sortOrder;
    }
    public void setIsSale(Integer isSale) 
    {
        this.isSale = isSale;
    }

    public Integer getIsSale() 
    {
        return isSale;
    }
    public void setInventory(Long inventory) 
    {
        this.inventory = inventory;
    }

    public Long getInventory() 
    {
        return inventory;
    }
    public void setDiscountInfoIcon(String discountInfoIcon) 
    {
        this.discountInfoIcon = discountInfoIcon;
    }

    public String getDiscountInfoIcon() 
    {
        return discountInfoIcon;
    }
    public void setUpTime(Long upTime) 
    {
        this.upTime = upTime;
    }

    public Long getUpTime() 
    {
        return upTime;
    }
    public void setDownTime(Long downTime) 
    {
        this.downTime = downTime;
    }

    public Long getDownTime() 
    {
        return downTime;
    }
    public void setIsRecommend(Long isRecommend) 
    {
        this.isRecommend = isRecommend;
    }

    public Long getIsRecommend() 
    {
        return isRecommend;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setPlateId(String plateId) 
    {
        this.plateId = plateId;
    }

    public String getPlateId() 
    {
        return plateId;
    }
    public void setGoodsStoreType(Integer goodsStoreType) 
    {
        this.goodsStoreType = goodsStoreType;
    }

    public Integer getGoodsStoreType() 
    {
        return goodsStoreType;
    }
    public void setGoodsStoreStr(String goodsStoreStr) 
    {
        this.goodsStoreStr = goodsStoreStr;
    }

    public String getGoodsStoreStr() 
    {
        return goodsStoreStr;
    }
    public void setCityCodeListStr(String cityCodeListStr) 
    {
        this.cityCodeListStr = cityCodeListStr;
    }

    public String getCityCodeListStr() 
    {
        return cityCodeListStr;
    }
    public void setStoreCodeListStr(String storeCodeListStr) 
    {
        this.storeCodeListStr = storeCodeListStr;
    }

    public String getStoreCodeListStr() 
    {
        return storeCodeListStr;
    }
    public void setNotInCityCodeListStr(String notInCityCodeListStr) 
    {
        this.notInCityCodeListStr = notInCityCodeListStr;
    }

    public String getNotInCityCodeListStr() 
    {
        return notInCityCodeListStr;
    }
    public void setNotInStoreCodeListStr(String notInStoreCodeListStr) 
    {
        this.notInStoreCodeListStr = notInStoreCodeListStr;
    }

    public String getNotInStoreCodeListStr() 
    {
        return notInStoreCodeListStr;
    }
    public void setGoodsType(Long goodsType) 
    {
        this.goodsType = goodsType;
    }

    public Long getGoodsType() 
    {
        return goodsType;
    }
    public void setOrderExtend(String orderExtend) 
    {
        this.orderExtend = orderExtend;
    }

    public String getOrderExtend() 
    {
        return orderExtend;
    }
    public void setBuyNumLimit(Long buyNumLimit) 
    {
        this.buyNumLimit = buyNumLimit;
    }

    public Long getBuyNumLimit() 
    {
        return buyNumLimit;
    }
    public void setHasGift(Long hasGift) 
    {
        this.hasGift = hasGift;
    }

    public Long getHasGift() 
    {
        return hasGift;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("groupId", getGroupId())
            .append("title", getTitle())
            .append("resume", getResume())
            .append("resumeStr", getResumeStr())
            .append("sku", getSku())
            .append("skuName", getSkuName())
            .append("unit", getUnit())
            .append("listImg", getListImg())
            .append("banner", getBanner())
            .append("detailImg", getDetailImg())
            .append("sharePoster", getSharePoster())
            .append("goodsAttr", getGoodsAttr())
            .append("tags", getTags())
            .append("content", getContent())
            .append("description", getDescription())
            .append("categoryId", getCategoryId())
            .append("price", getPrice())
            .append("originalPrice", getOriginalPrice())
            .append("sortOrder", getSortOrder())
            .append("isSale", getIsSale())
            .append("inventory", getInventory())
            .append("discountInfoIcon", getDiscountInfoIcon())
            .append("upTime", getUpTime())
            .append("downTime", getDownTime())
            .append("isRecommend", getIsRecommend())
            .append("supplierId", getSupplierId())
            .append("plateId", getPlateId())
            .append("goodsStoreType", getGoodsStoreType())
            .append("goodsStoreStr", getGoodsStoreStr())
            .append("cityCodeListStr", getCityCodeListStr())
            .append("storeCodeListStr", getStoreCodeListStr())
            .append("notInCityCodeListStr", getNotInCityCodeListStr())
            .append("notInStoreCodeListStr", getNotInStoreCodeListStr())
            .append("goodsType", getGoodsType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("orderExtend", getOrderExtend())
            .append("buyNumLimit", getBuyNumLimit())
            .append("hasGift", getHasGift())
            .toString();
    }
}
